home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / info / drdtips.zip / 1307.TXT < prev    next >
Text File  |  1992-06-05  |  18KB  |  347 lines

  1. Document 1307
  2. MEM /A 
  3. 3/31/92
  4.  
  5. Novell Desktop Systems Group
  6.  
  7. INTRODUCTION
  8.  
  9. DR DOS 6.0's MEM command has several different options for displaying
  10. current Memory status.  MEM /A is the most widely used MEM option for
  11. troubleshooting Memory configuration issues.  This displays a
  12. combination of all MEM options available.  Please see pages 258-259 of
  13. the DR DOS User Guide for additional information regarding the MEM
  14. command.
  15.  
  16. NOTES
  17.  
  18. Please note that the MEM /A listing differs from system to system.
  19. Also, changes to the machine's hardware or to various operating system
  20. configuration files, namely CONFIG.SYS and AUTOEXEC.BAT, will also affect
  21. a MEM /A listing.  A recommended method for determining changes to this
  22. listing is to start examination of the MEM /A listing with a stripped
  23. software configuration (i.e. a simple CONFIG.SYS and AUTOEXEC.BAT).  
  24.  
  25. NOTE: this document assumes that the reader has an in-depth understanding
  26. of DOS memory management principles and terms.  A user may find it
  27. beneficial to brush up on memory management principles by examining any
  28. or all of the Digital Research memory management references listed below.
  29.  
  30. DR DOS 6.0 User Guide
  31. DR DOS 6.0 Optimization and Configuration Tips 
  32. DR DOS 6.0 Tips #1300 through 1306
  33.  
  34. MEM /A DESCRIPTION
  35.  
  36. Address refers to the address at which an item (drivers, TSRs, programs
  37. etc.) is located in RAM.  Segment address range 0000-9FFF refers to the
  38. Conventional Memory Area; Address A000-BFFF refers to Video Memory Area;
  39. Address C000-EFFF refers to the Upper Memory Area; Address FFFF-11000
  40. refers to the High Memory Area.  One can determine where a device driver,
  41. TSR, or program is by looking at the first four digits of the address and c
  42. hecking against the above ranges.  In the attached example,  MOUSE is at
  43. address E72E:0000 and is therefore in the Upper Memory Area.
  44.  
  45. Owner refers to the actual driver, TSR, or program name which is the owner
  46. of the address range.  For example MOUSE owns address  E72E:000 which is
  47. an Upper Memory address.    
  48.  
  49. Size refers to the size of the actual device driver, TSR, or program in
  50. memory.  Size appears in both hexadecimal and decimal formats.  For example
  51. MOUSE is 13,936 bytes in size or approximately 13 kilobytes.  (13,936 bytes
  52. / 1024 bytes per kilobyte =  approximately 13 kilobytes)  
  53.  
  54. Also notice that MOUSE is the owner of the Conventional Memory Address
  55. A54:0000.  Here, MOUSE's size is only 288 bytes.  As one can see the bulk
  56. of the program MOUSE is in Upper Memory at address E72E:0000.   This
  57. smaller amount (288 bytes) of MOUSE remains in Conventional Memory at
  58. ddress A54:0000 as a link or pointer to the rest of MOUSE at address
  59. E72E:0000.  Many program types will leave a portion of their code, called
  60. a "foot print", in Conventional Memory in order to point to the rest of
  61. the program in Upper or High Memory.
  62.  
  63. Type defines what occupies each particular address whether it be a Loadable
  64. device driver, Built-in device driver, FREE space, Environment, or other
  65. program type. Many of the program types are outlined below. 
  66.     
  67. Note: One may notice an identical Owner-Type specification both in
  68. Conventional Memory and Upper or High Memory.  This is because applications
  69. may need something in Conventional Memory to find or reference the rest of
  70. the program in Upper or Conventional Memory.
  71.  
  72. RAM refers to an addressed area of Random Access Memory.  RAM acts as a
  73. heading for a certain range of addressable memory.  In the example RAM
  74. shows a size of 655,360 which refers to all of the 640k of Conventional
  75. Memory.
  76.     
  77. Interrupt Vectors refers to the address reserved for the interrupt vector
  78. tables.  In the example, Interrupt vectors own the first address in RAM of
  79. 0:0000 and is 1,024 bytes in size.
  80.     
  81. ROM BIOS Data Area refers to the addresses in RAM of certain ROM BIOS
  82. information needed by DOS.  In the example, the ROM BIOS data area owns
  83. address 40:0000 and is 256 bytes in size.
  84.     
  85. DOS Data Area refers to the address reserved as a DOS work area.  In the
  86. example, the DOS data area owns address 50:000 and is 512 bytes in size.       
  87.     
  88. Device Drivers is a header for the Built-in device drivers, listed below
  89. this line. In the example, Device drivers own the addresses ranging from
  90. 70:050B to    70:0671 and add up to 2,912 bytes in size.  
  91.     
  92. Built-in device driver refers to the addresses of DOS's built in I/O
  93. functions.  In the example, there are many Built-in device drivers which
  94. own addresses ranging from 70:050B to 70:0671.   
  95.     
  96. System is a header for a group of program types defined below the System
  97. type line.  Notice that the amount of bytes occupied by the System is
  98. usually greater than the total of the listed programs.  We will assign
  99. the term System Overhead to the difference in amount.  In the example,
  100. System owns addresses 126:0000 to 126:0048 and is 2,528 bytes in size. 
  101.     
  102. Loadable device driver generally refers to an address occupied by those
  103. device drivers and TSRs which are loaded from the CONFIG.SYS file.  In
  104. the example, there are loadable device drivers which own addresses
  105. 255:0000 (EMM386.SYS), 2BC:0000 (SuperStor's SSTORDRV.SYS), and
  106. DF02:0000 (CON,which is ANSI.SYS).  
  107.     
  108. Program refers to the address of an executable (.EXE or .COM) which is
  109. currently in RAM.  In the example, Program owns addresses A0A:0000
  110. (COMMAND.COM), A78:0000 (MEM.EXE), E72E:0000 (MOUSE.COM), FFFF:00E0
  111. (COMMAND.COM), and FFFF:EFE3 (SuperStor code).
  112.  
  113. NOTE: Notice how MEM owns address A78:0000 and is 80,608 bytes in size.
  114. MEM will only take up memory during execution and will release itself
  115. from memory upon completion.  This is why the 80,608 bytes MEM takes up
  116. is not subtracted from the final amount of available Conventional Memory.
  117.       
  118. Environment refers to an address which is owned by environment space set
  119. aside by a particular program.  A ceiling for environment space is set up
  120. via DR DOS 6.0's /E:xxxx switch on the SHELL= statement in CONFIG.SYS
  121. Note: generally 16 bytes are added to the environment size.  Example: if
  122. your environment size is 512 bytes, the size of the environment shown by
  123. the MEM command is 528 bytes (512 bytes + 16 bytes).  In the example,
  124. Environment owns addresses A2B:000 (Environment set up by COMMAND.COM),
  125. A54:000 (Environment set up by MOUSE.COM), and A66:0000 (Environment set
  126. up by MEM.EXE).
  127.  
  128. FREE refers to the address of a block of RAM space available for use by
  129. programs.  In the example, address 1E26:000 and beyond are FREE (a total
  130. of 531 Kbytes).
  131.  
  132. NOTE: A user may add the amount of MEM.EXE in memory (80,608 bytes) and
  133. the amount reported by the FREE at 1E26:000 (531,856 bytes) to determine
  134. total available Conventional Memory (612,192).  Notice that this number
  135. differs to that reported in the Standard Memory Allocation Reporting
  136. which reports 612,736 bytes.  We term this difference "System Overhead"
  137. as it represents a small amount of unreported memory (272 bytes).
  138.  
  139. Upper System Memory refers to the address of an EXCLUDED area of memory.
  140. Excluded memory is memory which has been made exempt from DOS use or
  141. manipulation.  In the example, Upper system memory owns address
  142. 9FFF:0000 to DF00:0000 (Upper RAM) for an amount of 258,064.  This range
  143. actually represents a contiguous block that includes the first two
  144. segments of Video Memory plus ROMs, Shadow ROMs, the LIM page frame (EMS
  145. memory) and the EMM386 driver code which DR DOS does not make available.
  146.  
  147. Extended ROM BIOS Data Area refers to an address of system memory
  148. allocated for BIOS use.  We would generally term this area BIOS Scratch
  149. Area.  Many BIOSes have the ability to set aside 1 kilobyte of BIOS
  150. Scratch Area for BIOS use.  This 1 kilobyte amount will be subtracted
  151. from the overall Conventional Memory total which is generally 640
  152. kilobytes (640 kilobytes - 1 kilobyte = 639 kilobytes).  In the example,
  153. there is not an address owned by the Extended ROM BIOS data area.
  154.     
  155. XMS Upper Memory Block refers to an address owned by a program which put
  156. a portion of itself into Upper Memory without the assistance of a HILOAD,
  157. HIINSTALL, HIDEVICE, or similar command.  SuperStor's device driver,
  158. SSTORDRV.SYS, is one such program.  SSTORDRV.SYS may not be put into
  159. Upper Memory using of the commands above.  However, SSTORDRV. SYS will
  160. put a portion of itself into Upper Memory as long as it is loaded after
  161. a memory manager which creates Upper Memory Blocks (EMM386.SYS).  In the
  162. example, XMS Upper Memory Blocks own addresses E004:0000, E207:0000, and
  163. E6FC:0000 (SHARE.EXE).
  164.     
  165. DR DOS BIOS Code refers to an address of DR DOS's own Basic Input Output
  166. System functions.  In the example, DR DOS BIOS code owns address FFFF:1590
  167. and is 2,552 bytes in size.
  168.  
  169. DR DOS Kernel Code refers to the address which is occupied by the DR DOS
  170. Operating System kernel.  This address is affected by the DR DOS 6.0 memory
  171. manager's /BDOS switch.  In the example, DR DOS kernel code owns address
  172. FFFF:2370 and is 37,952 bytes in size.
  173.      
  174. Disk Buffers refers to an address which is occupied by small areas or
  175. blocks of memory called buffers.  The placement of buffers is a result of
  176. the DR DOS 6.0 BUFFERS/HIBUFFERS command issued in the CONFIG.SYS file.
  177. In the example, Disk buffers owns addresses E47E:0000 (3 buffers in Upper
  178. Memory which were unable to fit into High Memory), and FFFF:B833
  179. (27 buffers).  Notice that each buffer takes up 512 bytes.
  180.  
  181. ROM refers to an address owned by a Read Only Memory chip.  In the example,
  182. ROMs own addresses C000:0000, C700:0000, and F900:0000.
  183.     
  184. Upper RAM serves as a title or header for a group of program types defined
  185. below.  In the example, Upper RAM owns address DF00:0000 and is 69,632
  186. bytes in size.  
  187.     
  188. NOTE: A user may add up all of the amounts of the resident programs between
  189. addresses DF00:0000 and EA95:0000 (75,296 bytes) to determine Upper RAM.
  190. Notice that this number differs from that reported by Upper RAM, which is
  191. 69,632 bytes.  We term this difference "System Overhead" as it represents a
  192. small amount of unreported memory (5664 bytes).
  193.  
  194. Shadow ROM refers to an address which is occupied by an area shadowed from
  195. a ROM chip into faster RAM either through EMM386.SYS's /ROM switch or
  196. through CMOS's shadowing functions.  In the example, Shadow ROM owns
  197. addresses C6000:0000 and F800:0000.
  198.  
  199. Conventional Memory
  200.  
  201. ----------------------------------------------------------------------------
  202. Address   Owner        Size                       Type
  203. ----------------------------------------------------------------------------
  204. 0:0000    -------- A0000h, 655,360   ------------- RAM ---------------
  205. 0:0000    --------   400h,   1,024   Interrupt vectors
  206. 40:0000   --------   100h,     256   ROM BIOS data area
  207. 50:0000   DR DOS     200h,     512   DOS data area
  208. 70:0000   DR BIOS    B60h,   2,912   Device drivers
  209. 70:0553   AUX                                  Built-in device driver
  210. 70:0565   COM1                                 Built-in device driver
  211. 70:0577   COM2                                 Built-in device driver
  212. 70:0589   COM3                                 Built-in device driver
  213. 70:059B   COM4                                 Built-in device driver
  214. 70:0602   CLOCK$                               Built-in device driver
  215. 70:0645   CON                                  Built-in device driver
  216. 70:0671   A:-D:                                Built-in device driver
  217. 126:0000  DR DOS    11B0h,   4,528   System
  218. 126:0048  NUL                                  Built-in device driver
  219. 241:0000  DR DOS    2030h,   8,240   System
  220. 255:0000  EMMXXX0    640h,   1,632   Loadable device driver
  221. 2BC:000   E:        5C30h,  23,600   Loadable device driver
  222. A0A:0000  COMMAND    210h,     528   Program
  223. A2B:0000  COMMAND    210h,     528   Environment
  224. A4C:0000  --------    80h,     128   FREE
  225. A54:0000  MOUSE      120h,     288   Environment
  226. A66:0000  MEM        160h,     352   Environment
  227. A78:0000  MEM      13AE0h,  80,608   Program
  228. 1E26:0000 -------- 81D90h, 548,848   FREE
  229. 9FFF:0000 EXCLUDED 3F010h, 258,064   Upper system memory
  230. ----------------------------------------------------------------------------
  231.  
  232.  
  233.  
  234. Upper Memory
  235.  
  236. C000:0000 --------  6000h,  24,576   ------------- ROM -------------------
  237. C600:0000 --------  1000h,   4,096   ---------- Shadow ROM -----------
  238. C700:0000 --------  1000h,   4,096   ------------- ROM --------------------
  239. C800:0000 EMS      10000h,  65,536   -----------EMS memory-------------
  240. ----------------------------------------------------------------------------
  241. D800:0000 EMM386    7000h,  28,672       EMM386 device driver code
  242. ----------------------------------------------------------------------------
  243. DF00:0000 -------- 11000h,  69,632   ---------- Upper RAM --------------
  244. ----------------------------------------------------------------------------
  245. DF00:0000 DR DOS    1040h,   4,160   System
  246. DF02:0000 CON       1020h,   4,128   Loadable device driver
  247. E004:0000 DR DOS    1F90h,   8,240   XMS Upper Memory Block
  248. E207:0000 DR DOS    2290h,   8,848   XMS Upper Memory Block
  249. E430:0000 DRDOS     2CC0h,   11,456  System
  250. E47E:0000 DRDOS      600h,    1,536  3 Disk buffers
  251. E6FC:0000 SHARE      320h,      800  XMS Upper Memory Block
  252. E72E:0000 MOUSE     3670h,   13,936  Program
  253. EA95:0000 --------  56B0h,   22,192  FREE
  254. ----------------------------------------------------------------------------
  255. F800:0000 --------  1000h,    4,096  ---------- Shadow ROM -----------
  256. F900:0000 --------  7000h,   28,672  ------------- ROM ---------------
  257.  
  258. High Memory
  259.  
  260. ----------------------------------------------------------------------------
  261. FFFF:00E0 COMMAND   1380h,   4,992   Program
  262. FFFF:1470 --------   120h,     288   FREE
  263. FFFF:1590 DR DOS     DE0h,   3,552   DR DOS BIOS code
  264. FFFF:2370 DR DOS    9440h,  37,952   DR DOS kernel code
  265. FFFF:B7B0 --------    83h,     131   FREE
  266. FFFF:B833 DR DOS    3600h,  13,824   27 Disk buffers
  267. FFFF:EFE3 System    101Dh,  4,125    Program
  268. ----------------------------------------------------------------------------
  269.  
  270.  
  271. BASIC MEMORY ALLOCATION REPORTING - MEM
  272.  
  273. NOTE: The following description covers the final section of the MEM /A
  274. listing, or the listing resulting from a simple MEM command.  Also, the
  275. following description includes sub-headings which are not found on either
  276. of the above two command listings.  These subheadings are included to help
  277. the user understand other memory areas generally referenced within the DR
  278. DOS operating system.
  279.  
  280.  
  281. Memory Type         Total Bytes  ( Kbytes  )         Available
  282.                                                                           
  283. Conventional          655,360    (     640K)        612,736 (  598K )
  284. Upper                  69,632    (      68K)         22,192 (   21K )
  285. High                   65,520    (      64K)            419 (    0K )
  286. Extended            3,145,728    (   3,072K)              0 (    0K )
  287. Extended via XMS              N/A                 2,932,736 ( 2,864K)
  288. EMS                 2,932,736    (   2,864K)      2,932,736 ( 2,864K)
  289.  
  290. Conventional refers to the RAM memory between 0-640 kilobytes.
  291. Conventional Memory consists of the Low Memory Area and the Temporary
  292. Program Area or TPA.  
  293.     
  294. Low Memory Area refers to the first 64k of Conventional Memory. Low Memory
  295. Area is where the DOS kernel and its associated structures had to reside
  296. previous to recent improvements in memory management.  Since such
  297. improvements, the DOS kernel and its associated structures may be moved
  298. into the Upper Memory Area or High Memory Area.  The Low Memory Area area
  299. can be disabled (not used by applications) or enabled (used by programs)
  300. with the MEMMAX +/- L command.  Enabling the Low Memory Area makes it a
  301. part of the Temporary Program Area.
  302.     
  303. Transient (Temporary) Program Area refers to the RAM memory area in which
  304. applications run.
  305.  
  306. Upper refers to the RAM memory between 640 kilobytes and 1 megabyte.
  307. Under certain circumstances a user may want to use the MEMMAX +/- U
  308. command to enable or disable Upper Memory.
  309.  
  310. Video Memory Area refers to the first 128 kilobytes of the Upper Memory
  311. area in RAM.  This area allows for the paging of video memory from system
  312. RAM to the video card's RAM and visa versa.  Basically, DOS pages video
  313. memory off of the video card into system RAM where the application can
  314. access it. Additional  Upper Memory may be used by video (eg. for Super
  315. VGA).  Please see your video card's manual for the complete Upper Memory
  316. Requirements (addresses) of the card.  Under certain circumstances the
  317. MEMMAX +/- V switch may allow for the usage of certain unused Video Memory
  318. as Conventional Memory.  Please refer to page 581 of the DR DOS User Guide
  319. for additional information regarding memory paging.
  320.  
  321. 640 kilobytes to 704 kilobytes is the range that EGA and VGA graphics
  322. cards use to page data.  This area may go unused with a CGA or Hercules
  323. card.  
  324.  
  325. 704 kilobytes to 768 kilobytes is used for video memory.  Roughly half of
  326. this area is used for monochrome or Hercules graphics, roughly half is
  327. reserved for CGA, EGA or VGA.
  328.  
  329. 768 kilobytes to 1024 kilobytes refers to the Upper Memory Range used to
  330. HILOAD, HIDEVICE and HIINSTALL device drivers, TSRs and programs.  This
  331. area may also be utilized by special hardware cards and ROMs.
  332.  
  333. NOTE: The amount of Total Upper Memory in bytes corresponds to the amount
  334. of Upper RAM shown at address DF00:0000.  The amount of Available Upper
  335. Memory in bytes corresponds to FREE shown at address EA95:0000.
  336.  
  337. High refers to the first 64 kilobytes of RAM memory above 1 megabyte.  
  338.  
  339. Extended refers to all RAM memory which is beyond 1 megabyte and has not
  340. yet been defined by a specification.
  341.  
  342. Extended via XMS refers to Extended memory which has been converted to the
  343. XMS specification.
  344.  
  345. EMS refers to Extended memory which has been converted to the EMS or
  346. Expanded Memory specification.
  347.